package com.unionfetch.content_home.contract

import com.unionfetch.content_home.bean.AccountCategory
import com.unionfetch.content_home.bean.TradeDataDetail
import com.unionftech.common.base.mvp.IBasePresenter
import com.unionftech.common.base.mvp.IBaseView
import com.unionftech.common.base.mvp.impl.IBaseCallBack
import com.unionftech.common.bean.ResponseResult

interface HomeContract {
    interface ITradeDataView : IBaseView {
        fun handleTradeDataDetail(response: ResponseResult<TradeDataDetail>)
        fun handleFloatSurplus(response: ResponseResult<String>)
    }

    interface IHomePresenter : IBasePresenter {
        fun getTradeDataDetail(token: String, tradeNo: String, category: AccountCategory)
        fun getFloatSurplus(token: String, tradeNo: String, type: Int)
    }

    interface IHomeModel {
        fun getTradeDataDetail(
            token: String,
            tradeNo: String,
            category: AccountCategory,
            callBack: IBaseCallBack<ResponseResult<TradeDataDetail>>
        )

        fun getFloatSurplus(
            token: String,
            tradeNo: String,
            type: Int,
            callBack: IBaseCallBack<ResponseResult<String>>
        )

    }
}